package Package.Network_Programming.PortsAndProtocols;

public class PortsAndProtocols {
    public static final void PortsAndProtocols (){
//端口
//设备上应用程序的唯一标识
//端口号
//用两个字节表示的整数，它的取值范围是0~65535。其中，0~1023之间的端口号用于一些知名的网络服
//务和应用，普通的应用程序需要使用1024以上的端口号。如果端口号被另外一个服务或应用所占用，会
//导致当前程序启动失败
//协议
//计算机网络中，连接和通信的规则被称为网络通信协议
//UDP协议
//用户数据报协议(User Datagram Protocol)
//UDP是无连接通信协议，即在数据传输时，数据的发送端和接收端不建立逻辑连接。简单来说，当一台
//计算机向另外一台计算机发送数据时，发送端不会确认接收端是否存在，就会发出数据，同样接收端在
//收到数据时，也不会向发送端反馈是否收到数据。
//由于使用UDP协议消耗资源小，通信效率高，所以通常都会用于音频、视频和普通数据的传输
//        例如视频会议通常采用UDP协议，因为这种情况即使偶尔丢失一两个数据包，也不会对接收结果产生太
//大影响。但是在使用UDP协议传送数据时，由于UDP的面向无连接性，不能保证数据的完整性，因此在
//传输重要数据时不建议使用UDP协议
//TCP协议
//传输控制协议 (Transmission Control Protocol)
//TCP协议是面向连接的通信协议，即传输数据之前，在发送端和接收端建立逻辑连接，然后再传输数
//据，它提供了两台计算机之间可靠无差错的数据传输。在TCP连接中必须要明确客户端与服务器端，由
//客户端向服务端发出连接请求，每次连接的创建都需要经过“三次握手”
//三次握手：TCP协议中，在发送数据的准备阶段，客户端与服务器之间的三次交互，以保证连接的可靠
//第一次握手，客户端向服务器端发出连接请求，等待服务器确认
//第二次握手，服务器端向客户端回送一个响应，通知客户端收到了连接请求
//第三次握手，客户端再次向服务器端发送确认信息，确认连接
//完成三次握手，连接建立后，客户端和服务器就可以开始进行数据传输了。由于这种面向连接的特性，
//TCP协议可以保证传输数据的安全，所以应用十分广泛。例如上传文件、下载文件、浏览网页等
    }
}
